.layouts {
  --menu-color: rgb(4, 4, 5);
  --menu-active-color: red;
  --menu-sub-color: rgba(4, 4, 5, 40%);
  --menu-sub-active-color: rgba(4, 4, 5, 65%);
  --menu-width: 360px;


  @media screen and (max-width: 1024px) {
    --menu-width: 300px;
  }

  box-sizing: border-box;
  //background: var(--bg-color);
  color: var(--menu-color);
  font-family: 'Adobe Garamond', serif;
  font-weight: 400;

  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--menu-width);
    height: 100%;
    flex-shrink: 0;
    padding: 50px 20px 20px 50px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    box-sizing: border-box;
    //background: linear-gradient(to right, var(--bg-color), transparent);
    z-index: 2;

    .title {
      cursor: pointer;
      font-size: 20px;
      flex-shrink: 0;
    }

    ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .list {
      flex: 1;
      position: relative;
      padding: 0;
      margin: 50px 0 0;
      user-select: none;

      > li {
        font-size: 15px;
        line-height: 1;
        margin-top: 16px;
        position: relative;

        // 子菜单
        .subList {
          position: absolute;
          left: calc(100% + 50px);
          top: 0;
          color: var(--menu-sub-color);

          > li {
            white-space: nowrap;
            cursor: pointer;
            position: relative;

            &.active {
              color: var(--menu-sub-active-color);

              &::after {
                content: '';
                position: absolute;
                width: 5px;
                height: 5px;
                background: var(--menu-sub-active-color);
                border-radius: 50%;
                z-index: 2;
                top: 5px;
                left: -10px;
              }
            }

            &:not(:last-child) {
              margin-bottom: 16px;
            }
          }
        }

        a {
          text-decoration: none;
          color: rgba(0, 0, 0, 90%);

          &:hover {
            color: rgba(0, 0, 0, 45%);
          }
        }

        // 父级菜单激活
        &.active {
          &::after {
            content: '';
            position: absolute;
            width: 5px;
            height: 5px;
            background: var(--menu-active-color);
            border-radius: 50%;
            z-index: 2;
            top: 5px;
            left: -10px;
          }
        }
      }
    }

    .copy {
      font-size: 12px;
      color: rgba(0, 0, 0, 45%);
      flex-shrink: 0;
    }

    .copy > p {
      line-height: 1.5;
      margin: 0;
    }
  }

  .mobileHeader {
    display: none;
    padding: 20px 0;

    > .content {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 20px;
      width: 100%;

      .list {
        display: flex;
        justify-content: flex-start;
        gap: 20px;
        margin: 0;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        padding: 0 0 0 20px;
        
        &::-webkit-scrollbar {
          display: none;
        }
        -ms-overflow-style: none;
        scrollbar-width: none;
        
        li {
          list-style: none;
          flex-shrink: 0;
          
          a {
            text-decoration: none;
            color: rgba(0, 0, 0, 35%);
            display: block;
          }
        }

        li.active {
          a {
            text-decoration: underline;
            color: rgba(0, 0, 0, 65%);
          }
        }
      }
    }
  }

  main.content {
    width: calc(100% - var(--menu-width));
    margin-left: var(--menu-width);
  }

  @media screen and (max-width: 768px) {
    .header {
      display: none;
    }

    .mobileHeader {
      display: block;

      .content {
        width: 100%;
        margin-left: 0;
      }
    }

    main.content {
      width: 100%;
      margin-left: 0;
    }
  }

}
